summaryrefslogtreecommitdiffhomepage
path: root/packages/web/src/pages/[...slug].md.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/web/src/pages/[...slug].md.ts')
-rw-r--r--packages/web/src/pages/[...slug].md.ts20
1 files changed, 18 insertions, 2 deletions
diff --git a/packages/web/src/pages/[...slug].md.ts b/packages/web/src/pages/[...slug].md.ts
index 51c63b5a6..dbc11d78e 100644
--- a/packages/web/src/pages/[...slug].md.ts
+++ b/packages/web/src/pages/[...slug].md.ts
@@ -1,13 +1,29 @@
import type { APIRoute } from "astro"
import { getCollection } from "astro:content"
-export const GET: APIRoute = async ({ params }) => {
+function notFoundText(locals: unknown) {
+ if (typeof locals !== "object" || locals === null || !("t" in locals)) {
+ return "share.not_found"
+ }
+ const t = (locals as { t?: unknown }).t
+ if (typeof t !== "function") {
+ return "share.not_found"
+ }
+ const text = t("share.not_found")
+ if (typeof text === "string" && text.length > 0) {
+ return text
+ }
+ return "share.not_found"
+}
+
+export const GET: APIRoute = async ({ params, locals }) => {
const slug = params.slug || "index"
const docs = await getCollection("docs")
const doc = docs.find((d) => d.id === slug)
+ const notFound = notFoundText(locals)
if (!doc) {
- return new Response("Not found", { status: 404 })
+ return new Response(notFound, { status: 404, statusText: notFound })
}
return new Response(doc.body, {